The present invention generally relates to software applications. Specifically, the present invention relates to a design utility within an application, in particular an application used for designing a microcontroller.
Microcontrollers function to replace mechanical and electromechanical components in a variety of applications and devices. Since they were first introduced approximately 30 years ago, microcontrollers have evolved to the point where they can be used for increasingly complex applications. Some microcontrollers in use today are also programmable, expanding the number of applications in which they can be used.
However, even though there are a large number of different types of microcontrollers available on the market with a seemingly wide range of applicability, it is still often difficult for a designer to find a microcontroller that is particularly suited for a particular application. Unique aspects of the intended application may make it difficult to find an optimum microcontroller, perhaps necessitating a compromise between the convenience of using an existing microcontroller design and less than optimum performance.
In those cases in which a suitable microcontroller is found, subsequent changes to the application and new requirements placed on the application will likely affect the choice of microcontroller. The designer thus again faces the challenge of finding a suitable microcontroller for the intended application.
Unfortunately, conventional tools available for designing, configuring and programming microcontrollers or other programmable electronic devices do not contain datasheets for providing technical details for the selectable microprocessor peripherals. The conventional tools typically require a user to open up a separate application for datasheet viewing or to have access to a bound catalog of peripherals having datasheets. Each of these datasheet viewing techniques has its own set of problems.
One problem with requiring a user to open up a separate application for datasheet viewing is that the new application and the software design program both require substantial screen space. To view both simultaneously requires either decreasing the viewing size of each, which would make viewing difficult, or toggling back and forth between applications, which is time consuming, is confusing and is difficult to operate. Another problem is that opening additional applications consumes additional computer memory, which may cause the computer system to function slower. Additionally, requiring a user to open up a separate application for datasheet viewing requires a user to be familiar with multiple applications, increasing training costs and application maintenance.
Alternatively, requiring a user to have access to a bound catalog of peripherals with corresponding datasheets also has a number of problems. For one, the user must have on hand catalogs having datasheets for every peripheral the user may require. This requires a concerted effort to maintain an up-to-date datasheet library, thereby increasing operating costs and creating new responsibilities for the person assigned to manage the library.
Datasheets are typically medium to large-sized documents, and require a large amount of screen space for proper viewing. As described above, conventional tools do not have the technology to afford a user with a convenient, easy to use method for viewing the datasheet for desired peripherals within the application. Current datasheet viewing techniques require a user to browse through an entire datasheet to find the desired information. Therefore, the current tools provide inefficient methods for datasheet browsing.
Accordingly, a need exists for a method or system for rendering a workspace for helping a user design a system for a programmable electronic device. A need also exists for a method or system that satisfies the above need and that renders an on-screen viewable datasheet for a selectable user module. A need also exists for a method or system that satisfies the above need and that provides easy navigation of the on-screen datasheet. The present invention provides a novel solution to these needs.
The present invention provides a method and system thereof for rendering a workspace for helping a user design a microcontroller. In one embodiment, the microcontroller utilizes a programmable single-chip architecture comprising both programmable digital and programmable analog blocks.
In one embodiment, a workspace having multiple windows is rendered, wherein a first window of the workspace comprises at least one selectable user module. A workspace is associated with one or more tasks used in designing a microcontroller. In one embodiment, the workspace is associated with selecting user modules in the design of the components within a programmable microcontroller. A user module is a pre-configured function or circuit design operating with the microcontroller.
Input indicating a selection of a user module is received. Responsive to the selection, a datasheet graphical user interface is automatically rendered in a second window of the workspace, wherein the datasheet provides technical details corresponding to the selected user module. The datasheet is tabbed for easy navigation thereof. In one embodiment, a data-driven technique is used for automatically rendering the tabs based on a data description of the datasheet.
In one embodiment, the first window is a catalog comprising a plurality of selectable user modules. In one embodiment, the catalog is a database or library of user modules, wherein the user modules of the database can be updated. In another embodiment, the first window comprises a listing of selected user modules. In one embodiment, the selected user modules are selected from a catalog window as described above.
In one embodiment, the workspace further comprises a window for rendering a histogram for displaying available programmable resources of the microcontroller. In another embodiment, the workspace further comprises a window for rendering a schematic corresponding to the selected user module.
As described above, the workspace may comprise selectable tabs with descriptive labels, wherein the tabs are rendered according to data of the datasheet. The tabs are operable for easy navigation of the datasheet.
In summary, the present invention is used to render a workspace for helping a user program a programmable microcontroller. The workspace comprises a datasheet for a selectable user module and provides easy navigation of the datasheet. The user is provided with a workspace for helping a user select the desirable user modules for use with a microcontroller, while directly providing the user with the technical information to select and configure the appropriate user module.
The present invention integrates the display of the datasheet information into the workspace that is used for user module selection. By integrating the datasheet, the user can easily switch back and forth through the available windows of the workspace to program the system and get quick reference to the datasheet at the same time. By integrating the windows, the user can adjust the sizes of the windows to provide optimum information presentation during program development.